#include<iostream>
#include<algorithm>

using namespace std;

const int N=1e5+10;

bool st1[N],st2[N];
int a[N],s[N];
int n,m;

struct H{
	int l,r;
}h[N];

bool cmp(H a,H b)
{
	if(a.l==b.l) 
		return a.r<b.r;
	return a.l<b.l;
}


int main()
{
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		scanf("%d",&a[i]);
		s[i]=s[i-1]+a[i];
	}
		
	scanf("%d",&m);
	for(int i=1;i<=m;i++)
		scanf("%d%d",&h[i].l,&h[i].r);
		
	sort(h,h+m,cmp);
	
	int res1=0,res2=0;
	for(int i=2;i<=m;i++){
		if(h[i-1].r>=h[i].l){
			for(int j=h[i].l;j<=h[i-1].r;j++);
				st1[i]=true;
			res1+=s[h[i-1].r]-s[h[i].l-1];
		} 	
		else{
			for(int j=h[i-1].r+1;j<h[i].l;j++);
				st2[i]=true;
			res2+=s[h[i].l]-s[h[i-1].r+1];
		} 	
	}
	
	sort(a,a+n);
	
	int ans1=0,ans2=0;
	for(int i=1;i<=n;i++)
		if(st1[i]) 
			ans1++;
	for(int i=1;i<=n;i++)
		if(!st1[i]&&st2[i])
			ans2++;
	
	printf("%d %d\n",ans1,ans2);
	
	long long sum=0;
	for(int i=n;i>=n-ans1+1;i--) sum+=a[i];
	for(int i=1;i<=ans2;i++) sum-=a[i];
	
	printf("%lld",sum-res1+res2);
	
	return 0;
} 
